package com.gqz.patrol.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gqz.common.core.domain.R;
import com.gqz.common.core.domain.RequestForm;
import com.gqz.patrol.api.EnWzJfEquipApi;
import com.gqz.patrol.app.service.IPatorlEnWzJfEquipService;
import com.gqz.patrol.vo.EnWzJfEquipVo;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;


/**
 * 新能源设备信息 Controller
 */
@RestController
public class EnWzJfEquipController implements EnWzJfEquipApi {

    @Autowired
    private IPatorlEnWzJfEquipService service;

    @Override
    public R<List<EnWzJfEquipVo>> getByDeviceID(String deviceId) {
        return R.ok(service.getById(deviceId));
    }

    @Override
    public R<Page<EnWzJfEquipVo>> page(@Valid RequestForm<EnWzJfEquipVo> requestForm) {
        return R.ok(service.page(requestForm));
    }

    @Override
    public R<Long> count(@Valid RequestForm<EnWzJfEquipVo> requestForm) {
        return R.ok(service.count(requestForm));
    }

    @Override
    public R<Integer> insert(@Valid List<EnWzJfEquipVo> vos) {
        return R.ok(service.insert(vos));
    }

    @Override
    public R<Integer> update(@Valid List<EnWzJfEquipVo> vos) {
        return R.ok(service.update(vos));
    }

    @Override
    public R<Boolean> delete(@Valid List<String> ids) {
        return R.ok(service.removeBatchByIds(ids));
    }

    @Override
    public R<List<EnWzJfEquipVo>> getByJfCode(@NotNull String jfCode) {
        return R.ok(service.getByJfCodes(jfCode));
    }
}
